﻿Use master
Go
if exists (select * from sys.databases where name = 'OnlineSalesSystems')
	drop database OnlineSalesSystems
Go

CREATE DATABASE OnlineSalesSystems
Go

USE OnlineSalesSystems
Go

Create table tbl_Employee 
	(
		Employee_ID					int primary key, 
		Employee_User				nvarchar(100) unique NOT NULL, 
		Employee_Password			varchar(100) NOT NULL, 
		Employee_Email				varchar(200) unique NOT NULL,
		Employee_FullName			nvarchar(100) NOT NULL,
		Employee_Phonenumber		varchar(15),
		Employee_Address			nvarchar(max),	
		Employee_Avatar				varchar(300),
		Employee_Role				varchar(20) NOT NULL,			
	);

Insert into tbl_Employee values(1,N'dangtruongson',N'7c4a8d09ca3762af61e59520943dc26494f8941b','dangtruongson@gmail.com',N'Đặng Trường Sơn','0974114460',N'Hà Nội','','1')
Insert into tbl_Employee values(2,N'dangtruongson91',N'7c4a8d09ca3762af61e59520943dc26494f8941b','dangtruongson91@gmail.com',N'Đặng Trường Sơn','0974114460',N'Hà Nội','','1')

GO

Create table tbl_Account 
	(
		Account_ID					int primary key, 
		Account_User				nvarchar(100) unique NOT NULL, 
		Account_Password			varchar(100) NOT NULL, 
		Account_Email				varchar(200) unique NOT NULL,
		Account_FullName			nvarchar(100) NOT NULL,
		Account_Phonenumber			varchar(15),
		Account_Address				nvarchar(max),	
		Account_Avatar				varchar(300),
		Account_Role				varchar(10),
		Account_qlsanpham			int,
		Account_qldanhmuc			int,
		Account_qlhoadon			int,
		Account_qlkhachhang			int,
		Account_qlthongtin			int,
		Account_qlgiaodien			int,				
	);
Go 

---tai khoan admin---
Insert into tbl_Account  values(1,N'admin',N'7c4a8d09ca3762af61e59520943dc26494f8941b','dangtruongson191@gmail.com',N'Đặng Trường Sơn','0974114460',N'Hà Nội','','Admin',1,1,1,1,1,1)
	
Create table tbl_Category
	(
		Category_ID1				int primary key,
		Category_ID2				int,
		Category_Name				nvarchar(100),
		Category_Image				nvarchar(max) NULL,
		Category_Description		nvarchar(max) NULL,
		Category_ActiveTop			int,
		Category_ActiveLeft			int,
		Category_Ordinal			int
	);
Go
Create table tbl_Logo
	(
		Logo_ID						int primary key,
		Logo_Image					nvarchar(max),
		Logo_Date					datetime,
	);
Go

Insert into tbl_Logo values(1,N'/Icons/logoMain.png','2013-03-19 23:28:09.000')

Go

CREATE TABLE tbl_Banner
(
	Banner_ID		int primary key,
	Banner_Name		nvarchar(max) NULL,
	Banner_Place	nvarchar(max) NULL,
	Banner_Image	nvarchar(max) NULL,
	Banner_Link		nvarchar(max) NULL,
	Banner_Title	nvarchar(max) NULL,
	Banner_Size		nvarchar(max) NULL,
	Banner_date		datetime NULL,
	);
Go

Insert into tbl_Banner values(1,N'Slide 1',N'Index',N'/Images/Slide-Show/slide-1.jpg',N'http://www.sunnytech.vn',N'Đây là bức ảnh số 1','847x400','2013-01-03 09:09:09.000')
Insert into tbl_Banner values(2,N'Slide 2',N'Index',N'/Images/Slide-Show/slide-2.jpg',N'http://www.sunnytech.vn',N'Đây là bức ảnh số 2','847x400','2013-01-03 09:09:09.000')
Insert into tbl_Banner values(3,N'Slide 3',N'Index',N'/Images/Slide-Show/slide-3.jpg',N'http://www.sunnytech.vn',N'Đây là bức ảnh số 3','847x400','2013-01-03 09:09:09.000')
Insert into tbl_Banner values(4,N'Slide 4',N'Index',N'/Images/Slide-Show/slide-4.jpg',N'http://www.sunnytech.vn',N'Đây là bức ảnh số 4','847x400','2013-01-03 09:09:09.000')

Go

Create table tbl_Color
	(
		Color_ID					int primary key,
		Color_Name					nvarchar(max),
	);
Go
Insert into tbl_Color values(1,N'White')
Insert into tbl_Color values(2,N'Red')
Insert into tbl_Color values(3,N'Blue')
Insert into tbl_Color values(4,N'Black')
Insert into tbl_Color values(5,N'Brown')
Insert into tbl_Color values(6,N'Green')
Insert into tbl_Color values(7,N'Orange')
Insert into tbl_Color values(8,N'Pink')
Insert into tbl_Color values(9,N'Purple')
Insert into tbl_Color values(10,N'Yellow')
Insert into tbl_Color values(11,N'Navy')

Go
Create table tbl_Size
	(
		Size_ID						int primary key,
		Size_Name					varchar(10),
	);
Go
Insert into tbl_Size values(1,'Không size')
Insert into tbl_Size values(2,'XL')
Insert into tbl_Size values(3,'L')
Insert into tbl_Size values(4,'M')
Insert into tbl_Size values(5,'S')
Insert into tbl_Size values(6,'XS')

Go
Create table tbl_Vendor
	(
		Vendor_ID				int primary key,
		Category_ID1			int references tbl_Category(Category_ID1),
		Vendor_Name				nvarchar(max),
		Vendor_LoGo				varchar(max) NULL,
		Vendor_Description		nvarchar(max) NULL
	);	

Go

Create table tbl_IDBox
(
 IDBox_ID	int identity(1,1) primary key,
 IDBox_Active int
);
go

Declare @counter int;
set @counter = 0 ;
WHILE ( @counter < 10000 )
	begin
	if @counter < 0
	insert into tbl_IDBox values (0)
	else
	insert into tbl_IDBox values (1)
	Set @counter= @counter+1
	end 
	
Go

Create table tbl_Product
	(
		Product_ID				int primary key,
		Category_ID1			int,	
		Category_ID2			int,
		Category_ID3			int,
		Product_Name			nvarchar(max) NULL,					
		Vendor_ID				int	references tbl_Vendor(Vendor_ID),
		Product_Image			nvarchar(max) NULL,
		Product_Title			nvarchar(max) NULL,
		Product_Summary			nvarchar(max) NULL,
		Product_Descriptions	nvarchar(max) NULL,
		Product_SalesPrice		float NULL,
		Product_discount		float NULL,
		Product_Rank			float NULL,
		Product_ViewDiscount	nvarchar(10) default '',
		Product_ViewSize		nvarchar(10) default '',
		Product_LinkWarranty	nvarchar(max),
		Product_ViewWarranty	nvarchar(10) default '',
		Product_Spch			nvarchar(10) default '',
		Product_Date			datetime
	);	
Go  	

Create table tbl_ProductColor
	(
		ProductColor_ID			int primary key,
		Product_ID				int references tbl_Product(Product_ID),			
		Color_ID				int references tbl_Color(Color_ID),
		Product_ImageColor		nvarchar(max) NULL,
		Product_MultiImage		nvarchar(max) NULL,
	);	
Go  	

Create table tbl_ProductSize
	(
		ProductSize_ID			int primary key,
		ProductColor_ID			int references tbl_ProductColor(ProductColor_ID),
		Size_ID					int NULL,						
	);	
Go  	
	

Create table tbl_BoxProduct
	(
		BoxProduct_ID		int identity(1,1) primary key,
		Category_ID1		int,
	);
GO

Insert into tbl_BoxProduct values(1)
Insert into tbl_BoxProduct values(2)
Insert into tbl_BoxProduct values(3)
Insert into tbl_BoxProduct values(4)
	
Go

Create table tbl_Orders 
	(
		Orders_ID				varchar(12) primary key ,
		Employee_FullName		nvarchar(100) NOT NULL,		
		Employee_Email		    nvarchar(100) NOT NULL,	
		Employee_Phone			nvarchar(20) NOT NULL,	
		Employee_Address		nvarchar(max) NOT NULL,	
		Payment					nvarchar(100) NOT NULL,	
		Orders_CreateDate		datetime,
		Orders_TotalPrice		float,
		Orders_Status			varchar(20) default 'In process',
	);

Go

Create table tbl_OrderLine 
	(
		OrderLine_ID			int primary key,
		Orders_ID				varchar(12) references tbl_Orders(Orders_ID),
		Product_ID				int,
		ProductColor_ID			int,
		ProductSize_ID			int,
		OrderLine_Quantity		int
	);
Go

Create table tbl_News
	(
		News_ID					int primary key,
		News_Image				nvarchar(max),
		News_Name				nvarchar(max),
		News_Summary			nvarchar(max),				
		News_Description		nvarchar(max),
		News_Date				datetime
	);
Go

insert into tbl_News values(1,'/Images/Image-News/lam.jpg',N'Ngọc Trinh lộ hàng',N'Hôm nay Lộ hàng',N'Hôm nay Ngọc Trnh Lộ hàng','12/12/2012')

Go

Create table tbl_Poster 
	(
		Poster_ID				int primary key,
		Poster_Name				nvarchar(max),
		Poster_Place			nvarchar(max),
		Poster_Image			nvarchar(max),
		Poster_Link				nvarchar(max),
		Poster_Title			nvarchar(max),
		Poster_Size				nvarchar(max),
		Poster_date				datetime
	);
Go

Insert into tbl_Poster values(1,N'Poster 1',N'Index',N'/Images/Image-Poster/Poster3.jpg',N'http://www.sunnytech.vn',N'Đây là bức ảnh số 1','847x400','2013-01-03 09:09:09.000')
Insert into tbl_Poster values(2,N'Poster 2',N'Index',N'/Images/Image-Poster/Poster1.jpg',N'http://www.sunnytech.vn',N'Đây là bức ảnh số 2','847x400','2013-01-03 09:09:09.000')
Insert into tbl_Poster values(3,N'Poster 3',N'Index',N'/Images/Image-Poster/Poster2.jpg',N'http://www.sunnytech.vn',N'Đây là bức ảnh số 3','847x400','2013-01-03 09:09:09.000')
Insert into tbl_Poster values(4,N'Poster 4',N'Index',N'/Images/Image-Poster/Poster4.jpg',N'http://www.sunnytech.vn',N'Đây là bức ảnh số 4','847x400','2013-01-03 09:09:09.000')

Go

Create table tbl_ImageAds
	(
		ImageAds_ID				int primary key,
		ImageAds_Image			nvarchar(max),
		ImageAds_Link			nvarchar(max),
		ImageAds_date				datetime
	);
Go

Insert into tbl_ImageAds values(1,N'/Images/img.png',N'http://www.sunnytech.vn','2013-01-03 09:09:09.000')
Go
Create table tbl_CompanyInfor
	(
		CompanyInfor_ID				int primary key,
		CompanyInfor_Name			nvarchar(max),
		CompanyInfor_Description	nvarchar(max),
		CompanyInfor_Mobile			varchar(20),
		CompanyInfor_Fax			varchar(20),
		CompanyInfor_Email			varchar(50),
	);
Go


Insert into tbl_CompanyInfor values(1,N'Công ty Cổ phần A-MARK.VN',N'Số 85, ngõ 18, Định Công Thượng, Hoàng Mai, HN','(+84)912 087 375 ','(+84)4 888 999','support@ahmua.vn')

Go
Create table tbl_HelpOnline
	(
		HelpOnline_ID			int primary key,
		HelpOnline_Name			nvarchar(50),
		HelpOnline_Yahoo		varchar(50)
	);	
Go

Insert into tbl_HelpOnline values(1,N'Bán hàng','sondt.sunnytech')
Insert into tbl_HelpOnline values(2,N'Tư vấn','sondt.sunnytech')
Insert into tbl_HelpOnline values(3,N'Chăm sóc','sondt.sunnytech')

Go
Create table tbl_ATM
	(
		ATM_ID					int primary key,
		ATM_Code				int,
		ATM_Boss				nvarchar(max),
		ATM_Address				nvarchar(max),
		ATM_LoGo				varchar(max)
	);
Go 



Create table tbl_Video
	(	
		Video_ID				int primary key,
		Video_Name				nvarchar(max),
		Video_Date				varchar(max),
		Video_Link				nvarchar(max),
		Video_Active			int
	);
Go

insert into tbl_Video values (1,N'Quảng cáo công ty','2013-01-07 09:19:19','http://www.youtube.com/embed/bGeNmjOXQ_0?rel=0',1)

Create table tbl_Comment1
	(
		Comment1_ID				int primary key,
		Product_ID				int references tbl_Product(Product_ID), 
		Comment1_Name			nvarchar(max),
		Comment1_Email			nvarchar(max),
		Comment1_Details		nvarchar(max),
		Comment1_Active			int,
		Comment1_Date			datetime,
		Comment1_Login			int,
		Comment1_Avatar			varchar(100)
	);
Go
Create table tbl_HuongDan
	(
		HuongDan_ID					int identity(1,1) primary key,
		HuongDan_Css				nvarchar(max),
		HuongDan_Name				nvarchar(max),
		HuongDan_Descriptions		nvarchar(max)
	);

Go

Insert into tbl_HuongDan values(N'btnShipping',N'Thông tin vận chuyển',N'Thông tin vận chuyển Thông tin vận chuyển Thông tin vận chuyển Thông tin vận chuyển')
Insert into tbl_HuongDan values(N'btnHelp',N'Cách mua sắm trên Solo',N'Cách mua sắm trên Solo Cách mua sắm trên Solo')
Insert into tbl_HuongDan values(N'btnForward',N'Dịch vụ chuyển tiếp',N'Dịch vụ chuyển tiếp Dịch vụ chuyển tiếp')

Go
Create table tbl_EmailCustomer
	(
		EmailCustomer_ID			int primary key,
		EmailCustomer_Email			nvarchar(100)
	);

Go
Create table tbl_Contact
	(
		Contact_ID					int primary key,
		Contact_Email				nvarchar(100),
		Contact_Details				nvarchar(max)
	);

Go

Create table tbl_Note
	(
		Note_ID					int primary key,
		Note_Date				Datetime,
		Note_Content			nvarchar(MAX)
		
	);	

Go
Insert into tbl_Note values(1,'12/12/2012',N'Thêm 1 số sản phẩm mới trong danh mục Thời trang')
Insert into tbl_Note values(2,'11/12/2012',N'Thêm 1 số sản phẩm mới trong danh mục Điện thoại')
Insert into tbl_Note values(3,'12/12/2012',N'Thêm 1 số sản phẩm mới trong danh mục Hàng hiệu')
Insert into tbl_Note values(4,'11/12/2012',N'Thêm 1 số sản phẩm mới trong danh mục Điện thoại')

Go

Create table tbl_Header
	(
		Header_ID						int identity(1,1) primary key,
		Header_Date						Datetime,
		Header_Name1					nvarchar(MAX),
		Header_Name2					nvarchar(MAX),
		Header_Name3					nvarchar(MAX)
		
	);	

Go

Insert into tbl_Header values('12/12/2012',N'Giao hàng 1-5 ngày',N'Trả tiền tại nhà',N'0164 9649 070')


Go

Create table tbl_Bank
	(
		Bank_ID					int primary key,
		Bank_Image				nvarchar(MAX),
		Bank_AccountName		nvarchar(MAX),
		Bank_NumberAccount		nvarchar(100),
		Bank_Date				datetime,		
	);	
Go
Insert into tbl_Bank values (1,N'/Icons/Icons_Bank/Bank1.png',N'Công ty TNHH Thép Bảo Tín',N'102010001501942 - Ngân hàng Công thương Việt Nam - Chi nhánh 12.','2013-01-07 09:19:19')
Insert into tbl_Bank values (2,N'/Icons/Icons_Bank/Bank2.png',N'Công ty TNHH Thép Bảo Tín',N'2011101732001 - Ngân hàng TMCP Quân Đội - Chi nhánh: Bắc Sài Gòn','2013-01-07 09:19:19')
Insert into tbl_Bank values (3,N'/Icons/Icons_Bank/Bank3.png',N'Công ty TNHH Thép Bảo Tín',N'2011101732001 - Ngân hàng TMCP Quân Đội - Chi nhánh: Bắc Sài Gòn','2013-01-07 09:19:19')
Go

-- STORED PROCEDURE ------------------------------------------------------------------------------------
USE [OnlineSalesSystems]
GO
/****** Object:  StoredProcedure [dbo].[deletebyrows]    Script Date: 10/15/2012 15:07:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[deletebyrows]
 @table nvarchar(100),
 @wherecolumn nvarchar(100),
 @groupid nvarchar (MAX)
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'DELETE FROM  ' +@table + ' WHERE ' +@wherecolumn+' IN (' + @groupid +' ) ';
	/* Thuc thi ket qua 
	 convert(nvarchar,@id) ; lệnh convert số sang chuỗi
	*/	
	exec (@sql);
		
end

------------------------------------------------------------------------------------

/****** Object:  StoredProcedure [dbo].[insertbyrows]    Script Date: 10/15/2012 15:08:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[insertbyrows]
 @table nvarchar(100),
 @columns nvarchar(400),
 @values nvarchar (MAX)
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	if @columns='*'
	SET @sql= 'INSERT  INTO  ' +@table +  ' VALUES  ' + @values;
	else
	SET @sql= 'INSERT  INTO  ' +@table +'(' +@columns +')'+  ' VALUES  ' + @values;
	/* Thuc thi ket qua 
	 convert(nvarchar,@id) ; lệnh convert số sang chuỗi
	*/	
	exec (@sql);
		
end

------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[paging]    Script Date: 10/15/2012 15:08:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[paging]
 @table			nvarchar(40),
 @idcate		int,
 @column		nvarchar(40),
 @currentpage	int ,
 @sizepage		int ,
 @sort			varchar(10)
as
begin
	
	declare @sql nvarchar(MAX);
	declare @columcate  nvarchar(MAX);
	declare @id int;
	declare @count int;
	
	select @id = Category_ID2 from tbl_Category where Category_ID1 = + @idcate;
	if (@id = 0)
	begin
			set @columcate = 'Category_ID1'
	end
	else
	begin
		select @count = COUNT(*) from tbl_Category where Category_ID2 = + @idcate;
		if (@count = 0)
		begin
		set @columcate = 'Category_ID3' 
		end
		else
		begin
		set @columcate = 'Category_ID2' 
		end
		
	end
	
	set @sql='select *  from ( select *, row_number() over ( Order by p.'+@column+') as row  from ( select *  ,
	 Product_SalesPrice - round(((Product_SalesPrice * Product_discount)/100),0) as newprice from '+@table+
	') p where ' +@columcate+ ' = ' +CONVERT (nvarchar,@idcate) +' )tbl where row > '+convert(nvarchar,(@currentpage-1)*@sizepage) +
	' and row <=('+convert(nvarchar,(@currentpage*@sizepage))+')  ORDER BY '+@column+' '+@sort+' '; 
	print(@sql);
	exec(@sql);
end

------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[pagingnews]    Script Date: 10/15/2012 15:08:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[pagingnews]
 @table			nvarchar(40),
 @column		nvarchar(40),
 @currentpage	int ,
 @sizepage		int ,
 @sort			varchar(10)
as
begin
	
	declare @sql nvarchar(MAX);


	set @sql='select *  from (
	select *, row_number() over (Order by p.'+@column+') as row from '+@table+' p )tbl where row > '+convert(nvarchar,(@currentpage-1)*@sizepage) +
	' and row <=('+convert(nvarchar,(@currentpage*@sizepage))+')  ORDER BY '+@column+' '+@sort+' '; 
	print(@sql);
	exec(@sql);
end
------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectcatname]    Script Date: 10/15/2012 15:08:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectcatname]
 @table			nvarchar(40),
 @idproduct		int
as
begin
	
	declare @sql nvarchar(MAX);
	declare @columcate  nvarchar(MAX);
	declare @id int;
	declare @count int;
	
	select @id = Category_ID2 from tbl_Category where Category_ID1 = + @idproduct;
	if (@id = 0)
	begin
			set @columcate = 'Category_ID1'
	end
	else
	begin
		select @count = COUNT(*) from tbl_Category where Category_ID2 = + @idproduct;
		if (@count = 0)
		begin
		set @columcate = 'Category_ID3' 
		end
		else
		begin
		set @columcate = 'Category_ID2' 
		end
		
	end
	
	select @columcate as catname 
end

--------------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectbycolumns]    Script Date: 10/15/2012 15:08:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectbycolumns]
 @table nvarchar(40),
 @columns nvarchar(40) 
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	SET @sql= 'SELECT '+@columns+' FROM ' +@table;
	/* Thuc thi ket qua */
	
	
	exec(@sql);
		
end
-----------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectcountrow]    Script Date: 10/15/2012 15:08:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectcountrow]
 @table nvarchar(100)
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	SET @sql= 'Select count(*) as count  FROM ' +@table;
	/* Thuc thi ket qua 
	 convert(nvarchar,@id) ; lệnh convert số sang chuỗi
	*/	
	exec (@sql);
		
end
-----------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectcountwhere]    Script Date: 10/15/2012 15:08:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectcountwhere]
 @table nvarchar(100),
 @whereValue int,
 @whereColumn nvarchar(100)
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	SET @sql= 'Select count(*) as count  FROM ' +@table + ' WHERE  '+@whereColumn+' = ' + Convert(nvarchar,@whereValue);
	/* Thuc thi ket qua 
	 convert(nvarchar,@id) ; lệnh convert số sang chuỗi
	*/	
	exec (@sql);
		
end

/****** Object:  StoredProcedure [dbo].[selectcountwhere1]    Script Date: 10/15/2012 15:08:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectcountwhere1]
 @table nvarchar(100),
 @whereValue int,
 @whereColumn nvarchar(100)
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	SET @sql= 'Select count(*) as count  FROM ' +@table + ' WHERE  '+@whereColumn+' <> ' + Convert(nvarchar,@whereValue);
	/* Thuc thi ket qua 
	 convert(nvarchar,@id) ; lệnh convert số sang chuỗi
	*/	
	exec (@sql);
		
end
-----------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectwherebygroupid]    Script Date: 10/15/2012 15:08:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectwherebygroupid]
 @table nvarchar(100),
 @columns nvarchar(100),
 @wherecolumn nvarchar(100),
 @groupid nvarchar(500) 
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	SET @sql= 'SELECT '+@columns+',Product_SalesPrice - round(((Product_SalesPrice * Product_discount)/100),0) as newprice FROM ' +@table+ ' WHERE ' +@wherecolumn+ ' IN ('+@groupid +')' ;
	/* Thuc thi ket qua 
	 convert(nvarchar,@id) ; lệnh convert số sang chuỗi
	*/	
	exec (@sql);
		
end
-------------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectwhereid]    Script Date: 10/15/2012 15:09:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectwhereid]
 @table nvarchar(100),
 @columns nvarchar(100),
 @wherecolumn nvarchar(100),
 @id int 
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	SET @sql= 'SELECT '+@columns+' FROM ' +@table+ ' WHERE ' +@wherecolumn+ ' = '+convert(nvarchar,@id) ;
	/* Thuc thi ket qua */
	
	
	exec (@sql);
		
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[updatebyrow]    Script Date: 10/15/2012 15:09:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[updatebyrow]
 @table nvarchar(100),
 @wherecolumn nvarchar(100),
 @id int,
 @sets nvarchar (MAX)
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	
	SET @sql= 'UPDATE  ' +@table + ' SET '+@sets + ' WHERE ' +@wherecolumn+' = ' +convert(nvarchar,@id);
	/* Thuc thi ket qua 
	 convert(nvarchar,@id) ; lệnh convert số sang chuỗi
	*/	
	exec (@sql);
		
end
------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[updatebyrow]    Script Date: 10/15/2012 15:09:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[updatepassword]
 @table nvarchar(100),
 @wherecolumn nvarchar(100),
 @id varchar(100),
 @sets nvarchar (MAX)
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	
	SET @sql= 'UPDATE  ' +@table + ' SET '+@sets + ' WHERE ' +@wherecolumn+' = ''' +@id+'''';
	/* Thuc thi ket qua 
	 convert(nvarchar,@id) ; lệnh convert số sang chuỗi
	*/	
	
	print(@sql)
	exec (@sql);
		
end
-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorderbycategory]    Script Date: 01/02/2013 9:52:13 ******/


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorderbycategory] 
 @table nvarchar(100)
as
begin 
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * FROM ' +@table + ' WHERE Category_ID2 = 0 and Category_ActiveTop=1';
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[Selectorderbynews]    Script Date: 01/03/2013 13:48:13 ******/


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorderbynews]
 @table nvarchar(100)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT Top 6 * FROM ' +@table + ' ORDER BY News_Date DESC';
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[selectorderbycate]
 @table nvarchar(100)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT TOP 6 * FROM ' +@table + ' ORDER BY Category_Ordinal ASC';
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectnewsdetail]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectnewsdetail]
 @table nvarchar(100),
 @idproduct int
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * FROM ' +@table+ ' WHERE News_ID = '+ CONVERT(nvarchar,@idproduct);
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorhuongdan]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selecthuongdan]
 @table nvarchar(100),
 @idproduct int
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * FROM ' +@table+ ' WHERE HuongDan_ID = '+ CONVERT(nvarchar,@idproduct);
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[Selectorderbyslide]    Script Date: 01/04/2013 9:38:13 ******/


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorderbyslide]
 @table nvarchar(100)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * FROM ' +@table + ' ORDER BY Banner_date DESC';
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorderbydiscountproduct]    Script Date: 01/04/2013 9:38:13 ******/

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorderbydiscountproduct]
 @table nvarchar(100)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT TOP 10 *,Product_SalesPrice - round(((Product_SalesPrice * Product_discount)/100),0) as newprice   FROM ' +@table + ' WHERE Product_discount <> 0  ORDER BY Product_discount DESC';
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorderbyalldiscountproduct]    Script Date: 01/17/2013 9:38:13 ******/

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorderbyallproduct]
 @table			nvarchar(40),
 @idcate		int,
 @column		nvarchar(40),
 @currentpage	int ,
 @sizepage		int ,
 @sort			varchar(6)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	
	set @sql='select * , Product_SalesPrice - round(((Product_SalesPrice * Product_discount)/100),0) as newprice from (
	select *, row_number() over (Order by p.'+@column+' DESC ) as row from '+@table+' p where '+@column+' <> ' +CONVERT (nvarchar,@idcate) +' )tbl where row > '+convert(nvarchar,(@currentpage-1)*@sizepage) +
	' and row <=('+convert(nvarchar,(@currentpage*@sizepage))+')  ORDER BY '+@column+' '+@sort+' '; 
	print(@sql);
	exec(@sql);
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end
-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorderbybestproduct]    Script Date: 01/05/2013 11:48:13 ******/


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorderbybestproduct]
 @table nvarchar(100)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT Top 10 *, Product_SalesPrice - round(((Product_SalesPrice * Product_discount)/100),0) as newprice  FROM ' +@table + ' ORDER BY Product_Rank DESC';
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorderbyallbestproduct]    Script Date: 01/17/2013 11:48:13 ******/


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorderbyallbestproduct]
 @table nvarchar(100)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT *, Product_SalesPrice - round(((Product_SalesPrice * Product_discount)/100),0) as newprice  FROM ' +@table + ' ORDER BY Product_Rank DESC';
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end
-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorderbyboxproduct]    Script Date: 01/05/2013 11:48:13 ******/


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorderbyboxproduct]
 @table1 nvarchar(100),
 @table2 nvarchar(100),
 @boxproductid int
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT TOP 8 *,Product_SalesPrice - round(((Product_SalesPrice * Product_discount)/100),0) as newprice FROM ' +@table1+ ' WHERE Category_ID1 = (SELECT Category_ID1 FROM ' +@table2+ ' WHERE BoxProduct_ID = '+CONVERT (nvarchar,@boxproductid)+ ' ) ORDER BY Product_Date DESC'

	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorderbytitleboxproduct]    Script Date: 01/05/2013 16:48:13 ******/


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorderbytitleboxproduct]
 @table1		nvarchar(100),
 @table2		nvarchar(100),
 @boxproductid	int
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * FROM ' +@table1+ ' WHERE tbl_Category.Category_ID1 = (SELECT Category_ID1 FROM tbl_BoxProduct WHERE BoxProduct_ID = ' +CONVERT (nvarchar,@boxproductid)+ ' ) AND tbl_Category.Category_ID2 = 0 ';

	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorderbyvideo]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorderbyvideo]
 @table nvarchar(100)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT Top 1 * FROM ' +@table + ' WHERE Video_Active = 1';
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorderbyaddress]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorderbyaddress]
 @table nvarchar(100)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT Top 1 * FROM ' +@table ;
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end


-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[insertproduct]    Script Date: 01/07/2013 09:48:13 ******/

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[insertproduct]
@table nvarchar(100),
@values nvarchar (MAX)
as
begin
 /* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
 declare @sql1 nvarchar(MAX);
 declare @sql2 nvarchar(MAX);
 declare @id int;
 
 /* Lay ve id */
 set @id = ( select top 1 tbl_IDBox.IDBox_ID from tbl_IDBox where tbl_IDBox.IDBox_Active=1 )
 
 
 /* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
 SET @sql1= 'INSERT  INTO  ' +@table + ' VALUES (' + CONVERT(nvarchar,@id) + ','+ SUBSTRING(@values,2,LEN(@values)) + '';
 print(@sql1);
 
 /* update trong bang boxid */
 
 SET @sql2='Update tbl_IDBox set tbl_IDBox.IDBox_Active = 0 where tbl_IDBox.IDBox_ID ='+ CONVERT(nvarchar,@id)
 
 /* Thuc thi ket qua 
 */ 
 print(@sql1);
 exec (@sql2);
 exec (@sql1);
 
 
  
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[deleterowproduct]    Script Date: 01/07/2013 09:48:13 ******/

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[deleterowproduct]
@table nvarchar(100),
@idproduct int
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql1 nvarchar(MAX);
	declare @sql2 nvarchar(MAX);
	declare @id int;
	
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql1= 'DELETE FROM  ' +@table + ' WHERE Product_ID = ' +CONVERT (nvarchar,@idproduct) ;
	
	/* update trong bang boxid */
	
	SET @sql2='Update tbl_IDBox set tbl_IDBox.IDBox_Active = 1 where tbl_IDBox.IDBox_ID ='+ CONVERT(nvarchar,@idproduct)
	
	/* Thuc thi ket qua 
	*/	
	exec (@sql2);
	exec (@sql1);
		
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorhuongdan]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorhuongdan]
 @table nvarchar(100)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * FROM ' +@table ;
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end


-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectordetailproduct]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create procedure [dbo].[selectordetailproduct]
 @table nvarchar(100),
 @idproduct int
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT TOP 1 * FROM ' +@table+ ' , tbl_ProductColor WHERE tbl_Product.Product_ID = tbl_ProductColor.Product_ID AND  tbl_Product.Product_ID = ' + CONVERT(nvarchar,@idproduct);
	/* Thuc thi ket qua 
	*/	
	print(@sql);
	exec (@sql);
end
-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectordetailproductcolor]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectordetailproductcolor]
 @table nvarchar(100),
 @idproduct int
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * FROM ' +@table+ ' , tbl_ProductColor WHERE tbl_Product.Product_ID = tbl_ProductColor.Product_ID AND  tbl_ProductColor.ProductColor_ID = ' + CONVERT(nvarchar,@idproduct);
	/* Thuc thi ket qua 
	*/	
	print(@sql);
	exec (@sql);
end

-----------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorsize]    Script Date: 01/09/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorsize]
 @table nvarchar(100),
 @idproduct int
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	declare @tbl_size nvarchar(MAX);
	declare @name nvarchar(MAX);
	declare @idcolor nvarchar(MAX);
	

	SET @tbl_size = 'tbl_Size';
	SET @sql='SELECT ' +@tbl_size+ '.Size_Name FROM ' + @table+ ' , ' +@tbl_size+ '  WHERE ' +@table+ '.Size_ID = ' +@tbl_size+  '.Size_ID  AND ' +@table+ '.ProductColor_ID = ' +convert(nvarchar,@idproduct);
	/* Thuc thi ket qua 
	*/	
	print @sql;
	exec (@sql);
end

-----------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorsamecolor]    Script Date: 01/10/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorsamecolor]
@table nvarchar(100),
@idproduct int

as
begin

	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * , Product_SalesPrice - round(((Product_SalesPrice * Product_discount)/100),0) as newprice  FROM ' +@table+ ' , tbl_Product WHERE tbl_Product.Product_ID = tbl_ProductColor.Product_ID AND tbl_ProductColor.Color_ID = tbl_Color.Color_ID AND tbl_Product.Product_ID = ' + CONVERT(nvarchar,@idproduct);
	
exec (@sql);
end


Go
-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectorsameproduct]    Script Date: 01/10/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectorsameproduct]
 @table nvarchar(100),
 @idproduct int
 
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	declare @idcategory nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SELECT @idcategory = tbl_Product.Category_ID3 FROM tbl_Product WHERE tbl_Product.Product_ID = @idproduct;	
	
	SET @sql= 'SELECT TOP 15 * ,Product_SalesPrice - round(((Product_SalesPrice * Product_discount)/100),0) as newprice  FROM ' +@table+ ' WHERE tbl_Product.Category_ID3 = ' +@idcategory ;
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end


Go

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[login]    Script Date: 01/10/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[login]
 @username nvarchar(100),
 @password nvarchar(100)
 
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT  *  FROM tbl_Employee WHERE tbl_Employee.Employee_User = ''' +@username + ''' AND tbl_Employee.Employee_Password = ''' +@password + '''';
	
	exec(@sql)
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[loginaccount]    Script Date: 01/10/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[loginaccount]
 @username nvarchar(100),
 @password nvarchar(100)
 
 
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	
	
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT  *  FROM tbl_Account WHERE tbl_Account.Account_User = ''' +@username + ''' AND tbl_Account.Account_Password = ''' +@password + '''';
	
	exec(@sql)
end

Go


-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[insertemployee]    Script Date: 01/14/2013 09:48:13 ******/
Go

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[insertemployee]
 @table nvarchar(100),
 @values nvarchar (MAX)
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	declare @id int ;
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'INSERT  INTO  ' +@table +''+  ' VALUES  ' + @values;
	/* Thuc thi ket qua 
	 convert(nvarchar,@id) ; lệnh convert số sang chuỗi
	 
	*/	
	
	exec (@sql);
		
end


-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectordercate]    Script Date: 01/14/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectordercate]
 @table nvarchar(100),
 @idproduct int
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * FROM ' +@table+ ' WHERE Category_ID3 = ' + CONVERT(nvarchar,@idproduct);
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[forget password]    Script Date: 01/10/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[forgetpasswordemployee]
 @username nvarchar(100),
 @email nvarchar(100)
 
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT count (*) as result  FROM tbl_Employee WHERE tbl_Employee.Employee_User = ''' +@username + ''' AND tbl_Employee.Employee_Email = ''' +@email + '''';
	
	
	exec(@sql)
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[forget password]    Script Date: 01/10/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[forgetpasswordaccount]
 @username nvarchar(100),
 @email nvarchar(100)
 
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT count (*) as result  FROM tbl_Account WHERE tbl_Account.Account_User = ''' +@username + ''' AND tbl_Account.Account_Email = ''' +@email + '''';
	
	
	exec(@sql)
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[checkuserexit]    Script Date: 01/10/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].checkemployeeexit
 @username nvarchar(100),
 @email nvarchar(100)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT count (*) as result  FROM tbl_Employee WHERE tbl_Employee.Employee_User = ''' +@username + ''' OR tbl_Employee.Employee_Email = ''' +@email + '''';
	
	
	exec(@sql)
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[checkuseraccountexit]    Script Date: 01/10/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].checkuseraccountexit
 @username nvarchar(100),
 @email nvarchar(100)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT count (*) as result  FROM tbl_Account WHERE tbl_Account.Account_User = ''' +@username + ''' OR tbl_Account.Account_Email = ''' +@email + '''';
	
	
	exec(@sql)
end


-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectsitemap]    Script Date: 01/14/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectsitemap]
 @table nvarchar(100),
 @idproduct int
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	declare @result nvarchar(MAX);
	declare @resultcatid nvarchar(MAX);
	declare @nameproduct nvarchar(MAX);
	declare @catid1 int;
	declare @catid2 int;
	declare @catid3 int;
	
	declare @nameparent nvarchar(MAX);
	
	set @result='';
	set @resultcatid='';
	
	SELECT @catid1 = Category_ID1 , @catid2 = Category_ID2,@catid3 = Category_ID3 FROM tbl_Product WHERE Product_ID = +@idproduct;
	
	set @resultcatid += ( Convert(nvarchar,@catid1) +','+  Convert(nvarchar,@catid2) +','+  Convert(nvarchar,@catid3) ) ;
	
	if(@catid2 = @catid1 )
	begin
		/*Lay ve name cat id 1 */
		select @nameproduct = Category_Name FROM tbl_Category where Category_ID1=+@catid1;
		set @result +=( @nameproduct);
	end
	else
	if(@catid3 = @catid2 )
	begin
		select @nameproduct = Category_Name FROM tbl_Category where Category_ID1=+@catid1;
		set @result +=(@nameproduct);
		
		select @nameproduct = Category_Name FROM tbl_Category where Category_ID1=+@catid2;
		set @result +=(','+ @nameproduct);
		
	end
	else
	begin
		select @nameproduct = Category_Name FROM tbl_Category where Category_ID1=+@catid1;
		set @result +=( @nameproduct);
		
		select @nameproduct = Category_Name FROM tbl_Category where Category_ID1=+@catid2;
		set @result +=(','+ @nameproduct);
		
		select @nameproduct = Category_Name FROM tbl_Category where Category_ID1=+@catid3;
		set @result +=(','+ @nameproduct);
		
	end
	
	
	SELECT @nameproduct = Product_Name FROM tbl_Product WHERE Product_ID = +@idproduct;
	set @result+=(','+@nameproduct);
	
	select (@result)as result , @resultcatid as catid
	
	
end
Go

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectcatroot]    Script Date: 01/14/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectcatroot]
 @table nvarchar(100),
 @idproduct int
 as
 begin
	
	declare @idroot int;
	declare @idtemp int ;
	
	declare @result nvarchar(MAX);
	declare @resultcatid nvarchar(MAX);
	
	
	declare @nameproduct nvarchar(MAX);
	
	set @idroot = @idproduct; 
	set @idtemp = @idproduct;
	set @result='';
	set @resultcatid='';
		
	while @idroot != 0
	begin
		
		set @idtemp =@idroot;
		
		select @nameproduct = Category_Name from tbl_Category where Category_ID1 = +@idtemp;
		
		set @result += @nameproduct +',';
		
		set @resultcatid += convert(nvarchar,@idtemp) +',';
		
		select @idroot=Category_ID2 from tbl_Category where Category_ID1= +@idtemp;
		
		
	end
	
	select (@result)as result , @resultcatid as catid
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectroot]    Script Date: 01/14/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectroot]
 @table nvarchar(100),
 @idproduct int
 as
 begin
	
	declare @idroot int;
	declare @idtemp int ;
	
	set @idroot = @idproduct; 
	set @idtemp = @idproduct;
		
	while @idroot != 0
	begin
		set @idtemp =@idroot;
		select @idroot=Category_ID2 from tbl_Category where Category_ID1= +@idtemp;
	end
	select(@idtemp) as idroot ;
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectvendorproduct]   Script Date: 01/14/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectvendorproduct]
 @table nvarchar(100),
 @idproduct int
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	declare @idroot int;
	declare @idtemp int ;
	
	set @idroot = @idproduct; 
	set @idtemp = @idproduct;
		
	while @idroot != 0
	begin
		set @idtemp =@idroot;
		select @idroot=Category_ID2 from tbl_Category where Category_ID1= +@idtemp;
	end
	
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * FROM ' +@table+ ' WHERE Category_ID1 = ' + CONVERT(nvarchar,@idtemp);
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectoremployeebyuser]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].selectoremployeebyuser
 @table nvarchar(100),
 @whereColumn varchar(50),
 @whereValue int
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * FROM ' +@table+' Where '+@whereColumn+' = '+CONVERT(varchar,@whereValue) ;
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end
-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectemployee]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[selectemployee]
 @table nvarchar(100),
 @whereColumn varchar(50),
 @whereValue varchar(50)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'SELECT * FROM ' +@table+' Where '+@whereColumn+' = '''+@whereValue +'''' ;
	/* Thuc thi ket qua 
	*/	
	exec (@sql);
end

-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[selectcomments]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].selectcomments
 @table nvarchar(100),
 @columns varchar(50),
 @order varchar(50)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'Select '+@columns+' FROM '+ @table + ' Where Comment1_Active = 1 ORDER BY '+@order+ ' DESC ';
	
		/* Thuc thi ket qua 
	*/	
	exec (@sql);
end
-------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[insertOrder]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].insertorder
 @table nvarchar(100),
 @values nvarchar (MAX)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	declare @lastid nvarchar(MAX);
	declare @id nvarchar(Max);
	declare @index int;
	declare @temp nvarchar(MAX);
	declare @number int;
	declare @sum int ;
	declare @nextid nvarchar(MAX);
	declare @count int;
	
	set @index = 10;
	set @sum=0;
	set @nextid=null;
	
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	Select top 1 @lastid  =  Orders_ID FROM tbl_Orders ORDER BY Orders_ID  DESC ;
	
	Select @count = COUNT(*) FROM tbl_Orders  ;
	
		/* Thuc thi ket qua 
	*/	
	if @count = 0
	begin
		set @lastid=0;
	end 
	
	print(@lastid);
	
	select @id=SUBSTRING(@lastid,3,10);
	
	/* Chuyen sang so */
	while @index != 0
	begin
	    select @temp = SUBSTRING(@id,@index,1) ;
	    	print(@temp);
	    
	    SELECT @number=CONVERT(INT, @temp);
	    	
	    set @sum += (@number*POWER(10,10-@index));
	    
	    set @index = @index - 1;
	    
	end
	
	print(@sum);
	
	set @sum = @sum +1;
	
	select @temp = CONVERT(nvarchar,@sum) ;
	
	set @nextid=@temp;
	
	set @index = 10 - LEN(@temp);

	while @index !=0
	begin
		set @nextid =('0'+@nextid);
		set @index = @index -1;
	end
	
	set @nextid = 'HD'+@nextid;
	
	set @values= '('''+@nextid +''','+ SUBSTRING(@values,2,LEN(@values));
	
	/* chuỗi values nhập vào có dạng '(a,b,c,d,...)' */
	SET @sql= 'INSERT  INTO  ' +@table +''+  ' VALUES  ' + @values;
	/* Thuc thi ket qua 
	 convert(nvarchar,@id) ; lệnh convert số sang chuỗi
	*/	
	
	exec (@sql);
	
	select @nextid as nextid;
end

/****** Object:  StoredProcedure [dbo].[searchbox]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].searchbox
 @table			nvarchar(40),
 @column		nvarchar(40),
 @currentpage	int ,
 @sizepage		int ,
 @sort			varchar(10),
 @sortcolumn    varchar(50),
 @content		nvarchar(MAX)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	set @sql='select *  from (select *, row_number() over (Order by p.'+@sortcolumn+') as row from  ( select *  
	, Product_SalesPrice - round(((Product_SalesPrice * Product_discount)/100),0) as newprice from '+@table+
	')p where '+@column +' like N'+'''%'+@content+'%'' )tbl where  row > '+convert(nvarchar,(@currentpage-1)*@sizepage) +
	' and row <=('+convert(nvarchar,(@currentpage*@sizepage))+')  ORDER BY '+@sortcolumn+' '+@sort+' '; 
	print(@sql);
	
	exec (@sql);
end


-----------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[searchcountall]    Script Date: 10/15/2012 15:08:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[searchcountall]
 @table nvarchar(100),
 @whereValue nvarchar(MAX),
 @whereColumn nvarchar(100)
as
begin
	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	SET @sql= 'Select count(*) as count  FROM ' +@table + ' WHERE  '+@whereColumn+' LIKE  N'+'''%' + @whereValue + '%''';
	/* Thuc thi ket qua 
	 convert(nvarchar,@id) ; lệnh convert số sang chuỗi
	*/	
	exec (@sql);
		
end
--------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[searchvendor]    Script Date: 01/07/2013 09:48:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].searchvendor
 @table			nvarchar(40),
 @column		nvarchar(40),
 @currentpage	int ,
 @sizepage		int ,
 @sort			varchar(10),
 @sortcolumn    varchar(50),
 @content		nvarchar(MAX)
 as
 begin
 	/* Biến columns là chuỗi các cột phân cách nhau bởi dấu cách */
	declare @sql nvarchar(MAX);
	
	
	set @sql='select *  from (select *, row_number() over (Order by p.'+@sortcolumn+') as row from  ( select *  
	, Product_SalesPrice - round(((Product_SalesPrice * Product_discount)/100),0) as newprice from '+@table+
	')p where '+@column +' = '+@content+' )tbl where  row > '+convert(nvarchar,(@currentpage-1)*@sizepage) +
	' and row <=('+convert(nvarchar,(@currentpage*@sizepage))+')  ORDER BY '+@sortcolumn+' '+@sort+' '; 
	exec (@sql);
end
-----------------------------------------------------------------------------------
/****** Object:  StoredProcedure [dbo].[callstored]    Script Date: 10/15/2012 15:08:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[callstored]
 @param1 nvarchar(MAX)
as
begin
	/* Bi?n columns là chu?i các c?t phân cách nhau b?i d?u cách */
	
	exec (@param1);
		
end
/****** Object:  StoredProcedure [dbo].[change_active_comment]    Script Date: 10/15/2012 15:08:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[change_active_comment]
 @param1 nvarchar
as
begin
 declare @active int 
 select  @active = tbl_Comment1.Comment1_Active from tbl_Comment1 where Comment1_ID = @param1
 print(@active)
 if @active = 0
 set @active = 1
 else
 set @active = 0
 print(@active)
 update tbl_Comment1 set Comment1_Active = @active where Comment1_ID= @param1
end
go

-----------------------------------------------------------------------------------
------------------------------------------------------------------------------

CREATE TABLE [dbo].[TB_ThongKe](
	[MaTB] [int] IDENTITY(1,1) PRIMARY KEY  NOT NULL,
	[ThoiGian] [datetime] NOT NULL,
	[SoTruyCap] [bigint] NOT NULL,
	)

go
-------------------------------------------------------------------------------
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[spThongKe_Edit]
AS
BEGIN
	DECLARE @SoTruyCapGanNhat bigint
	DECLARE @Count int
	SELECT @Count=Count(*) FROM TB_ThongKe ttk
	IF @Count IS NULL SET @Count=0
	IF @Count=0
		INSERT INTO TB_ThongKe(ThoiGian, SoTruyCap)
		VALUES (GetDate(),1)
	ELSE
		BEGIN
			
			DECLARE @ThoiGianGanNhat datetime
			SELECT @SoTruyCapGanNhat=ttk.SoTruyCap, @ThoiGianGanNhat=ttk.ThoiGian
			  FROM TB_ThongKe ttk WHERE ttk.MaTB=(SELECT Max(ttk2.MaTB) FROM TB_ThongKe ttk2)
			IF @SoTruyCapGanNhat IS NULL SET @SoTruyCapGanNhat=0
			IF @ThoiGianGanNhat IS NULL SET @ThoiGianGanNhat=getdate()
			-- Kiểm tra xem lần truy cập này có phải đã sang ngày mới không (Qua thời điểm 12h00)
			-- Nếu chưa sang ngày mới thì cập nhật lại SoTruyCap
			IF Day(@ThoiGianGanNhat)=Day(GETDATE())
				BEGIN
					UPDATE TB_ThongKe
					SET
						SoTruyCap = @SoTruyCapGanNhat+1,
						ThoiGian = GetDate()
						
					WHERE MaTB=(SELECT Max(ttk2.MaTB) FROM TB_ThongKe ttk2)
				END
				-- Nếu đã sang ngày mới thì thêm mới bản ghi, SoTruyCap bắt đầu lại là 1
			ELSE
				BEGIN
					INSERT INTO TB_ThongKe(ThoiGian, SoTruyCap)
					VALUES (GetDate(),1)
				END
		END
 
		-- Thống kê Hom nay, Hom qua, Tuan nay, Tuan Truoc, Thang nay, Thang Truoc
		DECLARE @HomNay INT
		SET @HomNay = datepart(dw, GetDate())
		SELECT @SoTruyCapGanNhat=ttk.SoTruyCap, @ThoiGianGanNhat=ttk.ThoiGian
			  FROM TB_ThongKe ttk WHERE ttk.MaTB=(SELECT Max(ttk2.MaTB) FROM TB_ThongKe ttk2)
		--Tính SoTruyCapHomQua
		DECLARE @SoTruyCapHomQua bigint
		SELECT @SoTruyCapHomQua=isnull(SoTruyCap,0) FROM TB_ThongKe  
			WHERE CONVERT(nvarchar(20),ThoiGian,103)=CONVERT(nvarchar(20),GETDATE()-1,103)
		IF @SoTruyCapHomQua IS null SET @SoTruyCapHomQua=0
		-- Tính Ngày đầu tuần này
		DECLARE @DauTuanNay datetime
		SET @DauTuanNay= DATEADD(wk, DATEDIFF(wk, 6, GetDate()), 6)
		-- Tính Ngày đầu của tuần trước Tính từ thời điểm 00:00:))
		DECLARE @NgayDauTuanTruoc datetime
		SET @NgayDauTuanTruoc = Cast(CONVERT(nvarchar(30),DATEADD(dd, -(@HomNay+6), GetDate()),101) AS datetime)
		-- Tính ngày cuối tuần trước tính đến 24h ngày cuối tuần 
		DECLARE @NgayCuoiTuanTruoc datetime
		SET @NgayCuoiTuanTruoc = Cast(CONVERT(nvarchar(30),DATEADD(dd, -@HomNay, GetDate()),101) +' 23:59:59' AS datetime)
		
		-- Tính số truy cập tuần này
		DECLARE @SoTruyCapTuanNay bigint
		SELECT @SoTruyCapTuanNay=isnull(Sum(SoTruyCap),0) FROM TB_ThongKe ttk 
			WHERE ttk.ThoiGian BETWEEN @DauTuanNay AND getdate()
		 
		-- Tính số truy cập tuần trước
		DECLARE @SoLanTruyCapTuanTruoc bigint
		SELECT @SoLanTruyCapTuanTruoc=isnull(sum(SoTruyCap),0)  FROM TB_ThongKe ttk 
			WHERE ttk.ThoiGian BETWEEN @NgayDauTuanTruoc AND @NgayCuoiTuanTruoc
		
		-- Tính số truy cập tháng này
		DECLARE @SoTruyCapThangNay bigint 
		SELECT @SoTruyCapThangNay=isnull(Sum(SoTruyCap),0)
			FROM TB_ThongKe ttk WHERE MONTH(ttk.ThoiGian)=MONTH(GETDATE())
		
		-- Tính số truy cập tháng trước
		DECLARE @SoTruyCapThangTruoc bigint 
		SELECT @SoTruyCapThangTruoc=isnull(Sum(SoTruyCap),0)
			FROM TB_ThongKe ttk WHERE MONTH(ttk.ThoiGian)=MONTH(GETDATE())-1
		
		-- Tính tổng số
		DECLARE @TongSo bigint
		SELECT  @TongSo=isnull(Sum(SoTruyCap),0) FROM TB_ThongKe ttk
		
		SELECT @SoTruyCapGanNhat AS HomNay, 
		@SoTruyCapHomQua AS HomQua,
		@SoTruyCapTuanNay AS TuanNay, 
		@SoLanTruyCapTuanTruoc AS TuanTruoc, 
		@SoTruyCapThangNay AS ThangNay, 
		@SoTruyCapThangTruoc AS ThangTruoc,
		@TongSo AS TatCa
END
------------------------------------------------------------------------------------
